// pages/views/myMess/myMess.js
const app = getApp()
Page({
  /**
   * 页面的初始数据
   */
  data: {
    formData:{},
    userList:[],
    list:['姓名','密码','年龄','电话','性别','地区']
  },
    back(){
      wx.switchTab({
        url: '../../me/me',
      })
    },
   // 提交
   formSubmit(e){
     let data = e.detail.value
     let tx = this.data.formData.tx 
     let updateData = {id:this.data.formData.id}
    // //  第一步push数据
    for (const key in data) {
      if (data[key] != '') {
        updateData[key] = data[key]
      }
    }
    console.log(tx);
    // console.log(tx.slice(0,8));
    // 第二步，是否带头像更新
    app.toast('加载中..','loading',800)
    setTimeout(() => {
      if (tx.slice(0,8)== 'http://1') {
        this.userInfoUpdateAPI(updateData)
      }else{
        this.userInfoUploadAPI(updateData,tx)
      }
    }, 800);
    // console.log(updateData,tx);
  },
  // 获取用户信息
  getUserMess(){
    app.postData('/users',{id:this.data.formData.id})
    .then(res=>{
      if (res.code == 200) {
          wx.setStorageSync('userInfo', JSON.stringify(res.data))
          this.setUserInfo()
      }
    })
  },
  // 更新用户信息(不带头像版)
  userInfoUpdateAPI(data){
    app.postData('/users/update',data)
    .then(res=>{
      console.log(res);
      if (res.code == 200) {
        app.toast('修改成功！','check',2500)
        this.getUserMess()
      }
    }).catch(err=>{
      app.toast('修改失败','none',2500)
      console.log(err);
    })
  },
  // 更新用户信息(头像版)
  userInfoUploadAPI(data,tx){
    wx.uploadFile({
      url:'http://127.0.0.1:8001/users/update/upload',
      name:'file', //避免检测到有文件上传，导致重新渲染咱的用户头像
      filePath:tx,//要上传的文件资源
      header:[{"content-type": "multipart/form-data"}],
      formData:data,
      success:(res) =>{
        let _res = JSON.parse(res.data)
        if (_res.code == 200) {
          app.toast('修改成功！','check',2500)
          this.getUserMess()
        }
        // console.log('上传成功：',JSON.parse(res.data));
      },
      fail(err){
        app.toast('上传失败!','none',2500)
        console.log('上传失败：',err);
      }
    })
  },
  // 预览头像
  preView(){
		wx.previewImage({
			urls: [this.data.formData.tx],//数组类型
			longPressActions: {
				itemList: ['发送给朋友', '保存图片', '收藏'],
				success: function(data) {
					console.log('选中了第' + (data.tapIndex + 1) + '个按钮,第' + (data.index + 1) + '张图片');
				},
				fail: function(err) {
					console.log(err.errMsg);
				}
			}
		});
  },
  // 选择头像
  changeTx(){
    let formData = this.data.formData
    wx.chooseMedia({
      count: 1, //默认9
      sizeType: ['original'], //可以指定是原图还是压缩图'compressed'，默认二者都有
      sourceType: ['album'], //从相册选择 - album 从相册选图，camera 使用相机，默认二者都有。如需直接开相机或直接选相册，请只使用一个选项
      crop:{
        quality:100,//取值范围为1-100，数值越小，质量越低（仅对jpg格式有效）。默认值为80
        width:80,//裁剪的宽度，单位为px，用于计算裁剪宽高比。
        height:80,//裁剪的宽度，单位为px，用于计算裁剪宽高比。
        resize:false //是否将width和height作为裁剪保存图片真实的像素值。默认值为true。注：设置为false时在裁剪编辑界面显示图片的像素值，设置为true时不显示
      },
    success:  (res)=> {  //成功后的图片blob参数
    // 预览图片
      const imageBlob = res.tempFiles
      formData.tx = imageBlob[0].tempFilePath
      this.setData({
        formData,
      })
      console.log(formData);
      },
    })
  },
  // 重新设置本页面的用户信息
  setUserInfo(){
    let data = JSON.parse(wx.getStorageSync('userInfo'))
    // 循环
    if (data.type == '普通用户') {
      let userList = []
      for (const key in data) {
        if (key == 'username' || key == 'password' || key == 'age' || key=='sex' 
        || key == 'phone' || key == 'from') {
          userList.push({
            "key":key, 
            "value":data[key],
          })
        }
      }
      // 更新
      this.setData({
        formData:data,
        userList,
      })
      
    }else{ //如果等于医生
      // this.setData({})
      let userList = []
      for (const key in data) {
        if (key == 'username' || key == 'password' || key == 'age' || key=='sex' 
        || key == 'phone' || key == 'from' || key == 'money' || key == 'workDate'
        || key == 'desc') {
          userList.push({
            "key":key, 
            "value":data[key],
          })
        }
      }
      // 更新
      this.setData({
        list:['姓名','密码','医龄','电话','性别','诊断费率','地区','能力描述','排班时间'],
        formData:data,
        userList, 
      })
      console.log(this.data.userList);
    }
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    this.setUserInfo()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})